home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple WWDC 1996
/
WWDC96_1996 (CD).toast
/
Technology Materials
/
MacOS 8 Resources
/
Developer Tools
/
Mac OS 8 Interfaces & Libraries
/
Interfaces
/
IDLIncludes
/
OCEMail.idl
< prev
next >
Wrap
Text File
|
1996-05-01
|
15KB
|
380 lines
/*
File: OCEMail.idl
Contains: Apple Open Collaboration Environment OCEMail Interfaces.
Version: Technology: AOCE Toolbox 1.02
Release: Universal Interfaces 3.0d3 on Copland DR1
Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
Bugs?: If you find a problem with this file, send the file and version
information (from above) and the problem description to:
Internet: apple.bugs@applelink.apple.com
AppleLink: APPLE.BUGS
*/
#ifndef __OCEMAIL_IDL__
#define __OCEMAIL_IDL__
#include <somobj.idl>
#include <somcls.idl>
#ifndef __FILES_IDL__
#include <Files.idl>
#endif
#ifndef __MEMORY_IDL__
#include <Memory.idl>
#endif
#ifndef __TEXTEDIT_IDL__
#include <TextEdit.idl>
#endif
#ifndef __TYPES_IDL__
#include <Types.idl>
#endif
#ifndef __DIGITALSIGNATURE_IDL__
#include <DigitalSignature.idl>
#endif
#ifndef __OCE_IDL__
#include <OCE.idl>
#endif
#ifndef __OCEAUTHDIR_IDL__
#include <OCEAuthDir.idl>
#endif
#ifndef __OCEMESSAGING_IDL__
#include <OCEMessaging.idl>
#endif
#ifdef __SOMIDL__
#if FOR_SYSTEM7_ONLY
/**************************************************************************************/
/* Common Definitions */
/**************************************************************************************/
/* reference to a new or open letter or message */
typedef long MailMsgRef;
/* reference to an open msam queue */
typedef long MSAMQueueRef;
/* identifies slots managed by a PMSAM */
typedef unsigned short MSAMSlotID;
/* reference to an active mailbox */
typedef long MailboxRef;
/* identifies slots within a mailbox */
typedef unsigned short MailSlotID;
/* identifies a letter in a mailbox */
typedef SOMLargeStruct MailSeqNum; /* Derived from a struct of 6 bytes in size */
/*
A MailBuffer is used to describe a buffer used for an IO operation.
The location of the buffer is pointed to by 'buffer'.
When reading, the size of the buffer is 'bufferSize'
and the size of data actually read is 'dataSize'.
When writing, the size of data to be written is 'bufferSize'
and the size of data actually written is 'dataSize'.
*/
typedef SOMLargeStruct MailBuffer; /* Derived from a struct of 12 bytes in size */
/*
A MailReply is used to describe a commonly used reply buffer format.
It contains a count of tuples followed by an array of tuples.
The format of the tuple itself depends on each particular call.
*/
typedef SOMTwoByteStruct MailReply; /* Derived from a struct of 2 bytes in size */
/*
Shared Memory Communication Area used when Mail Manager sends
High Level Events to a PMSAM.
*/
typedef SOMLargeStruct SMCA; /* Derived from a struct of 20 bytes in size */
/**************************************************************************************/
/* Value of creator and types fields for messages and blocks defined by MailManager */
/*
kMailImageBodyType:
format is struct TPfPgDir - in Printing.h
* struct TPfPgDir {
* short pageCount; - number of pages in the image.
* long iPgPos[129]; - iPgPos[n] is the offset from the start of the block
* - to image of page n.
* - iPgPos[n+1] - iPgPos[n] is the length of page n.
kMailReportType:
Reports have the isReport bit set in MailIndications and contain a block of type kMailReport.
This block has a header, IPMReportBlockHeader,
followed by an array of elements, each of type IPMRecipientReport
Various families used by mail or related msgs
*/
/**************************************************************************************/
typedef unsigned short MailAttributeID;
/* Values of MailAttributeID */
/* Message store attributes - stored in the catalog */
/* Will always be present in a letter and have fixed sizes */
typedef unsigned long MailAttributeMask;
/* Values of MailAttributeMask */
typedef unsigned long MailAttributeBitmap;
/**************************************************************************************/
typedef unsigned short MailLetterSystemFlags;
/* Values of MailLetterSystemFlags */
/* letter is available locally (either by nature or via cache) */
typedef unsigned short MailLetterUserFlags;
/* Values of MailLetterUserFlags */
typedef SOMFourByteStruct MailLetterFlags; /* Derived from a struct of 4 bytes in size */
typedef SOMLargeStruct MailMaskedLetterFlags; /* Derived from a struct of 8 bytes in size */
/* Values of MailIndications */
typedef unsigned long MailIndications;
/* values of the field originalInReport in MailIndications */
typedef IPMMsgID MailLetterID;
typedef SOMLargeStruct MailTime; /* Derived from a struct of 8 bytes in size */
/* innermost letter has nestingLevel 0 */
typedef unsigned short MailNestingLevel;
typedef OCERecipient MailRecipient;
/**************************************************************************************/
typedef unsigned short MailSegmentMask;
/* Values of MailSegmentMask */
typedef unsigned short MailSegmentType;
/* Values of MailSegmentType */
/**************************************************************************************/
typedef unsigned short MailLogErrorType;
/* Values of MailLogErrorType */
typedef short MailLogErrorCode;
/* Values of MailLogErrorCode */
typedef SOMLargeStruct MailErrorLogEntryInfo; /* Derived from a struct of 84 bytes in size */
/**************************************************************************************/
typedef short MailBlockMode;
/* Values of MailBlockMode */
typedef SOMLargeStruct MailEnclosureInfo; /* Derived from a struct of 16 bytes in size */
/**************************************************************************************/
typedef char OCESetupLocation;
/*
location state is a bitmask, 0x1=>1st location active,
* 0x2 => 2nd, 0x4 => 3rd, etc.
*/
typedef UInt8 MailLocationFlags;
typedef SOMTwoByteStruct MailLocationInfo; /* Derived from a struct of 2 bytes in size */
/**************************************************************************************/
/* Definitions for Personal MSAMs */
/**************************************************************************************/
typedef SOMLargeStruct MailEPPCMsg; /* Derived from a struct of 12 bytes in size */
/* Values of OCE defined High Level Event message classes */
typedef SOMLargeStruct MailTimer; /* Derived from a struct of 8 bytes in size */
typedef Byte MailTimerKind;
typedef SOMLargeStruct MailTimers; /* Derived from a struct of 10 bytes in size */
typedef SOMLargeStruct MailStandardSlotInfoAttribute; /* Derived from a struct of 14 bytes in size */
typedef OpaquePtr MSAMIOCompletionProcPtr;
typedef OpaquePtr MSAMIOCompletionUPP;
typedef SOMLargeStruct PMSAMGetMSAMRecordPB; /* Derived from a struct of 32 bytes in size */
typedef SOMLargeStruct PMSAMOpenQueuesPB; /* Derived from a struct of 42 bytes in size */
typedef unsigned short PMSAMStatus;
/* Values of PMSAMStatus */
typedef SOMLargeStruct PMSAMSetStatusPB; /* Derived from a struct of 38 bytes in size */
typedef SOMLargeStruct PMSAMLogErrorPB; /* Derived from a struct of 38 bytes in size */
/****************************************************************************************/
typedef SOMLargeStruct MailMasterData; /* Derived from a struct of 52 bytes in size */
/* Values for addressedToMe in struct MailCoreData */
typedef SOMLargeStruct MailCoreData; /* Derived from a struct of 112 bytes in size */
typedef SOMLargeStruct MSAMMsgSummary; /* Derived from a struct of 170 bytes in size */
/* PMSAM can put up to 128 bytes of private msg summary data */
typedef SOMLargeStruct PMSAMCreateMsgSummaryPB; /* Derived from a struct of 40 bytes in size */
typedef SOMLargeStruct PMSAMPutMsgSummaryPB; /* Derived from a struct of 40 bytes in size */
typedef SOMLargeStruct PMSAMGetMsgSummaryPB; /* Derived from a struct of 42 bytes in size */
/****************************************************************************************/
/* Definitions for Server MSAMs */
/**************************************************************************************/
typedef unsigned short SMSAMAdminCode;
/* Values of SMSAMAdminCode */
typedef unsigned long SMSAMSlotChanges;
/* Values of SMSAMSlotChanges */
/* kSMSAMNotifyFwdrSetupChange */
typedef SOMLargeStruct SMSAMSetupChange; /* Derived from a struct of 8 bytes in size */
/* kSMSAMNotifyFwdrNameChange */
typedef SOMLargeStruct SMSAMNameChange; /* Derived from a struct of 264 bytes in size */
/* kSMSAMNotifyFwdrPasswordChange */
typedef SOMLargeStruct SMSAMPasswordChange; /* Derived from a struct of 264 bytes in size */
/* kSMSAMGetDynamicFwdrParams */
typedef SOMLargeStruct SMSAMDynamicParams; /* Derived from a struct of 8 bytes in size */
typedef SOMLargeStruct SMSAMAdminEPPCRequest; /* Derived from a struct of 546 bytes in size */
typedef SOMLargeStruct SMSAMSetupPB; /* Derived from a struct of 44 bytes in size */
typedef SOMLargeStruct SMSAMStartupPB; /* Derived from a struct of 32 bytes in size */
typedef SOMLargeStruct SMSAMShutdownPB; /* Derived from a struct of 28 bytes in size */
/****************************************************************************************/
/* Definitions for reading and writing MSAM Letters */
/****************************************************************************************/
typedef SOMLargeStruct MSAMEnumeratePB; /* Derived from a struct of 48 bytes in size */
typedef SOMLargeStruct MSAMEnumerateInQReply; /* Derived from a struct of 8 bytes in size */
typedef SOMLargeStruct MSAMEnumerateOutQReply; /* Derived from a struct of 60 bytes in size */
typedef SOMLargeStruct MSAMDeletePB; /* Derived from a struct of 36 bytes in size */
typedef SOMLargeStruct MSAMOpenPB; /* Derived from a struct of 36 bytes in size */
typedef SOMLargeStruct MSAMOpenNestedPB; /* Derived from a struct of 32 bytes in size */
typedef SOMLargeStruct MSAMClosePB; /* Derived from a struct of 28 bytes in size */
typedef SOMLargeStruct MSAMGetMsgHeaderPB; /* Derived from a struct of 50 bytes in size */
/*
MSAMGetAttributesPB.buffer returned will contain the attribute values of
the attributes indicated in responseMask,
from the attribute indicated by the least significant bit set
to the attribute indicated by the most significant bit set.
Note that recipients - from, to, cc, bcc cannot be read using
this call. Use GetRecipients to read these.
*/
typedef SOMLargeStruct MSAMGetAttributesPB; /* Derived from a struct of 50 bytes in size */
/* attrID value to get resolved recipient list */
typedef SOMTwoByteStruct MailOriginalRecipient; /* Derived from a struct of 2 bytes in size */
/* Followed by OCEPackedRecipient */
typedef SOMLargeStruct MailResolvedRecipient; /* Derived from a struct of 6 bytes in size */
/* Followed by OCEPackedRecipient */
/*
MSAMGetRecipientsPB.buffer contains a Mail Reply. Each tuple is a
MailOriginalRecipient if getting original recipients
ie the attrID is kMail[From, To, Cc, Bcc]Bit
MailResolvedRecipient if getting resolved reicpients
ie the attrID is kMailResolvedList
Both tuples are word alligned.
*/
typedef SOMLargeStruct MSAMGetRecipientsPB; /* Derived from a struct of 48 bytes in size */
typedef SOMLargeStruct MSAMGetContentPB; /* Derived from a struct of 62 bytes in size */
typedef SOMLargeStruct MSAMGetEnclosurePB; /* Derived from a struct of 44 bytes in size */
typedef SOMLargeStruct MailBlockInfo; /* Derived from a struct of 16 bytes in size */
typedef SOMLargeStruct MSAMEnumerateBlocksPB; /* Derived from a struct of 46 bytes in size */
typedef SOMLargeStruct MSAMGetBlockPB; /* Derived from a struct of 60 bytes in size */
/*
YOU SHOULD BE USING THE NEW FORM OF MARK RECIPIENTS
* THIS VERSION IS MUCH SLOWER AND KEPT FOR COMPATIBILITY
* REASONS.
*/
/* not valid for tunnel form letters */
typedef SOMLargeStruct MSAMMarkRecipientsPB; /* Derived from a struct of 44 bytes in size */
/*
* same as MSAMMarkRecipients except it takes a mailMsgRef instead of
* queueRef, seqNum
*/
/* not valid for tunnel form letters */
typedef SOMLargeStruct MSAMnMarkRecipientsPB; /* Derived from a struct of 40 bytes in size */
/****************************************************************************************/
typedef SOMLargeStruct MSAMCreatePB; /* Derived from a struct of 80 bytes in size */
typedef SOMLargeStruct MSAMBeginNestedPB; /* Derived from a struct of 68 bytes in size */
typedef SOMLargeStruct MSAMEndNestedPB; /* Derived from a struct of 28 bytes in size */
typedef SOMLargeStruct MSAMSubmitPB; /* Derived from a struct of 46 bytes in size */
typedef SOMLargeStruct MSAMPutMsgHeaderPB; /* Derived from a struct of 38 bytes in size */
typedef SOMLargeStruct MSAMPutAttributePB; /* Derived from a struct of 42 bytes in size */
typedef SOMLargeStruct MSAMPutRecipientPB; /* Derived from a struct of 36 bytes in size */
typedef SOMLargeStruct MSAMPutContentPB; /* Derived from a struct of 52 bytes in size */
typedef SOMLargeStruct MSAMPutEnclosurePB; /* Derived from a struct of 130 bytes in size */
typedef SOMLargeStruct MSAMPutBlockPB; /* Derived from a struct of 60 bytes in size */
/****************************************************************************************/
typedef SOMLargeStruct MSAMCreateReportPB; /* Derived from a struct of 52 bytes in size */
typedef SOMLargeStruct MSAMPutRecipientReportPB; /* Derived from a struct of 32 bytes in size */
/****************************************************************************************/
typedef SOMLargeStruct MailWakeupPMSAMPB; /* Derived from a struct of 34 bytes in size */
typedef SOMLargeStruct MailCreateMailSlotPB; /* Derived from a struct of 56 bytes in size */
typedef SOMLargeStruct MailModifyMailSlotPB; /* Derived from a struct of 56 bytes in size */
typedef SOMLargeStruct MSAMParam; /* Derived from a struct of 1834 bytes in size */
/* ASYNCHRONOUS ONLY, client must call WaitNextEvent */
/* ASYNCHRONOUS ONLY, client must call WaitNextEvent */
/* ASYNCHRONOUS ONLY, client must call WaitNextEvent */
/* Personal MSAM Glue Routines */
/* SYNC ONLY */
/* Server MSAM Glue Routines */
/* SYNC ONLY */
/* SYNC ONLY */
/* Get Interface Glue Routines */
/* Put Interface Glue Routines */
/* SYNCHRONOUS ONLY */
/* SYNCHRONOUS ONLY */
/* Reports and Error Handling Glue Routines */
/* MsgSummary Glue Routines */
#endif
#endif /* __SOMIDL__ */
#endif /* __OCEMAIL_IDL__ */